%
'検索対象となるディレクトリの設定
FormScope = "e:\FTP"
SearchStr = Trim(Replace(Request("SearchStr"),"'",""))
Qmode = Request("Query") : If Qmode="" Then Qmode= 0
page = Request("page") : If page="" Then page= 1
'パセラΣシステムと連動 --------------------------------------------
If Request("pasera")<>"" Then
execURL = ""
execURL = "http://pasela.info/search/search-title.cgi?keyword=" & Server.URLEncode(SearchStr)
execURL = execURL + "&page=1"
execURL = execURL + "&mode=src"
execURL = execURL + "&max=30"
Response.Redirect execURL
End If
'HRLRと連動 ---------------------------------------------------------
If Request("dd")<>"" Then
execURL = ""
execURL = "dd.asp?cgi_ss=" & Server.URLEncode(SearchStr)
Response.Redirect execURL
End If
'googleと連動 -------------------------------------------------------
If Request("google")<>"" Then
execURL = ""
execURL = "http://www.google.com/search?q=" & Server.URLEncode(SearchStr) & "&hl=ja"
Response.Redirect execURL
End If
'エラーの発生に備えた前処理
On Error Resume Next
%>
FTPファイル検索
FTPサーチ |
|
GOLDION//HAMMER Verion 2.15
PROGRAMED by ABESOFT MAD PROGRAM Labo.
|
<%
If SearchStr="" Then
%>
<%
Else
'検索ログをログファイルに書き込む
If page=1 Then
LogFile = "querylog.txt"
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(Server.MapPath(LogFile),8,True)
atime = Now : address = Request.ServerVariables("REMOTE_ADDR")
ts.WriteLine atime & Chr(9) & address & Chr(9) & Qmode & Chr(9) & SearchStr
ts.Close
End If
'Indexing Service のOLE OBプロバイダにより ADO で接続する
Set db = Server.CreateObject("ADODB.Connection")
db.ConnectionString = "Provider=MSIDXS; Data Source=otaftp;"
db.Open
'SQL文の作成
If Qmode=0 Then
'フリーテキストクエリー
QryStr = "FileName like '%" & SearchStr & "%' or path like '%" & SearchStr & "%'"
' QryStr = "FREETEXT ('" & SearchStr & "')"
Else
'拡張クエリー(and,or,nearなどが使える)
QryStr = "CONTAINS ('" & SearchStr & "')"
End If
'検索結果のレコードはランクの降順に並べる
SQL = "SELECT DocTitle, FileName, VPath, Size, Write, Characterization, Rank" & _
" FROM SCOPE('""" & FormScope & """') WHERE " & QryStr & " ORDER BY Write DESC"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.MaxRecords = 100 '最大の取得レコード数は100に
rs.Open SQL, db,1
%>
検索フレーズ: <% =SearchStr %>
<%
If db.Errors.Count>0 Then
%>
<% =Err.Description %>
<%
ElseIf rs.RecordCount=0 Then
%>
探したけど何もなかったのでアップしてください (;´Д`)
|
<%
Else
'レコードは1ページに10件ずつ表示
num = 10
cnt = rs.RecordCount
rs.PageSize = num
rs.AbsolutePage = page
%>
検索数: <% =cnt %>件 ページ: <% =page %> / <% =rs.PageCount %>
>
<%
i = 0
Do While not rs.EOF and i"+vbcrlf
if right(path,3)="jpg" or right(path,3)="gif" or right(path,3)="png" then
response.write ""
else
response.write ""
response.write Server.HTMLEncode(title)
response.write ""+vbcrlf
end if
response.write strAnchor
response.write ""+vbcrlf
response.write "
"+vbcrlf
%>
ランク: <%= rs("Rank") %>
<%= rs("Size") %>byte -<%= rs("Write") %>
内容表示:
<%= Server.HTMLEncode(rs("Characterization")) %>
<%
dim PD
PD=path
if instr(PD,title) then
PD=left(PD,instr(PD,title)-1)
end if
%>
[格納されているフォルダ]
<%
rs.MoveNext
Loop
%>
<%
End If
End If
%>